package negocio;
import java.math.*;


public class Trigonometrica
{
	private static boolean opcao = true;
	//Metodo que realiza o calculo do seno
        public static boolean getOpcao()
        {
            return opcao;
        }
        public static void setOpcao(boolean op)
        {
            opcao = op;
        }
	public static double sen(double a)
	{	
		if(getOpcao())
			return Math.sin(Aritmetic.pi*a/180);
		else
			return Math.sin(a);
	}
	//Matodo que realiza o calculo do cosseno
	public static double cos(double a)
	{	
		if(getOpcao())
			return Math.cos(Aritmetic.pi*a/180);
		else
			return Math.cos(a);
	}
	//Metodo que realiza o calculo do tangente
	public static double tg(double a)throws IllegalArgumentException
	{	
		if(getOpcao())
		{
			if(Math.cos(Aritmetic.pi*a/180)==0)
				throw new IllegalArgumentException ("Tangente inexistente.");
			else
				return Math.tan(Aritmetic.pi*a/180);
		}
		else
		{
			if(Math.cos(a)==0)
				throw new IllegalArgumentException ("Tangente inexistente.");
			else
				return Math.tan(a);
		}	
	}
	//Metodo que realiza o calculo do cotangente
	public static double ctg(double a)throws IllegalArgumentException
	{	
		if(getOpcao())
		{
			if(Math.sin(Aritmetic.pi*a/180)==0)
				throw new IllegalArgumentException ("Cotangente inexistente.");
			else
				return (1/Math.tan(Aritmetic.pi*a/180));
		
		}
		else
		{
			if(Math.sin(Aritmetic.pi*a/180)==0)
				throw new IllegalArgumentException ("Cotangente inexistente.");
			else
				return (1/Math.tan(a));
		}
	}
	//Metodo que realiza o calculo do cossecante
	public static double csc(double a)
	{	
		if(getOpcao())
		{
			if(Math.sin(Aritmetic.pi*a/180)==0)
				throw new IllegalArgumentException ("Cossecante inexistente.");
			else
				return (1/Math.sin(Aritmetic.pi*a/180));
		}
		else
			if(Math.sin(Aritmetic.pi*a/180)==0)
				throw new IllegalArgumentException ("Cotangente inexistente.");
			else
				return (1/Math.sin(a));
	}
	//Metodo que realiza o calculo do cossecante
	public static double sec(double a)
	{	
		if(getOpcao())
		{
			if(Math.cos(Aritmetic.pi*a/180)==0)
				throw new IllegalArgumentException ("Secante inexistente.");
			else
				return (1/Math.cos(Aritmetic.pi*a/180));
		}
		else
		{
			if(Math.cos(a)==0)
				throw new IllegalArgumentException ("Secante inexistente.");
			else
				return (1/Math.cos(a));
		}
	}
}
